﻿namespace Launcher;

public class ChannelInfo
{
    public List<Channel> Channels { get; set; } = [];
}

public class Channel
{
    public string DisplayName { get; set; } = string.Empty;
    public string UniqueIdentification { get; set; } = string.Empty;
    public string LauncherName { get; set; } = string.Empty;
    public string Platform { get; set; } = "windows";
    public List<Package> Packages { get; set; } = [];
}

public class Package
{
    public string Version { get; set; } = string.Empty;
    public string ResourceInfoUrl { get; set; } = string.Empty;
    public string ResourceRootUrl { get; set; } = string.Empty;
}

public class ResourceInfo
{
    public string Version { get; set; } = string.Empty;
    public List<Resource> Resources { get; set; } = [];
}

public class Resource
{
    public string Path { get; set; } = string.Empty;
    public string Hash { get; set; } = string.Empty;
    public long Size { get; set; } = 0;
}